<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>变量</title>
</head>
<body>
<script>
    /**
     * 数组的方法
     *  例如：
     *  前四个用的比较多
     *      push：向数组末尾添加元素
     *      pop：删除数组末尾的元素
     *      unshift：向数组开头添加元素
     *      shift：删除数组开头的元素
     *
     *
     *      concat：连接两个或更多的数组
     *      join：把数组元素连接成一个字符串
     *      reverse：反转数组的元素顺序
     *      sort：对数组进行排序
     *      splice：向/从数组中添加/删除元素
     *      slice：提取数组的元素
     *      indexOf：返回某个指定的值在数组中的第一个索引
     *      lastIndexOf：返回某个指定的值在数组中的最后一个索引
     *
     */
    // 创建数组
    var arr= ["悟空","八戒","唐僧"]
    var arr2= ["zhangsan","lisi","wangwu"]
    /**
     * push() :向数组末尾添加元素
     */
    var number = arr.push(1);
    console.log("数组的长度为："+number)

    /**
     *  pop() :删除数组末尾的元素
     */
    var s = arr.pop();
    console.log("删除的元素为："+s)

    /**
     * unshift() :向数组开头添加元素
     */
    var number1 = arr.unshift("悟净","二郎神");
    console.log("数组的长度为："+number1)

    /**
     *shift() :删除数组开头的元素
     */
    var s1 = arr.shift();
    console.log("删除的元素为："+s1)


    /**
     *slice(): 从已有的数组中抽取元素
     * 第一个参数：开始位置
     * 第二个参数：结束位置
     */
    var strings = arr.slice(1,3);
    console.log("截取的数组为："+strings)  // [八戒,唐僧]

    /**
     *
     * splice(): 向/从数组中添加/删除元素
     * 第一个参数：开始位置
     * 第二个参数：删除的个数
     * 第三个参数：添加的元素，添加到删除的元素位置
     */
    var strings1 = arr.splice(1,1,"白龙马");
    console.log("删除的数组为："+strings1)


    /**
     *concat():连接两个或更多的数组
     *该方法不会对原数组产生影响
     */

    var strings2 = arr.concat(arr2);
    console.log("arr-->"+arr)
    console.log("arr2-->"+arr2)
    console.log("连接后的数组为："+strings2)


    /**
     *  join()
     *     -该方法会将数组转换为字符串
     *     -不会对原数组产生影响，而是作为结果输出
     *     -参数：数组元素之间的分隔符,默认的是逗号
     */
    var joins = arr.join("-");
    console.log("数组转换为字符串为："+joins)
    console.log(typeof joins)
    console.log(typeof arr)


    /**
     * reverse()
     *   -反转数组的元素顺序
     */
    console.log(arr)
    console.log(arr.reverse()) //反转

    /**
     * sort()
     * 可以指定排序规则
     *  可以在sort()添加一个回调函数，并
     */
    arr = [2,6,1,3,4,8,2,6]
    arr.sort(function (a,b){
        //这里的返回值如果大于0，则b排前面，反之则a排前面
        //如果返回值小于0，则a排前面，反之则b排前面
        return b-a;
    })
    console.log(arr)


    // document.write("数组的长度为："+number+"<br>");
    // document.write("删除的元素为："+s+"<br>");
    // document.write( arr);

</script>
</body>
</html>
